package com.nuanshui.heatedloan.fund.integration.pay.execute;

import com.nuanshui.heatedloan.fund.integration.form.CancelPayForm;
import com.nuanshui.heatedloan.fund.integration.form.PayForm;
import com.nuanshui.heatedloan.fund.integration.form.RequestPayForm;
import com.nuanshui.heatedloan.fund.model.PayResult;

public interface PayExecute {
	
	/**
	 * 获取支付单号 （可能是订单号，支付号，或者是某种交易号 具体的由具体实现类 来返回）
	 * @param @return
	 * @author guohao
	 * @date 2017年1月10日 上午10:57:22
	 * @since $
	 */
	String  loadPayNum(RequestPayForm requestPayForm);
	/**
	 * 确认支付的功能
	 * @param @return
	 * @author guohao
	 * @date 2017年1月10日 上午10:58:00
	 * @since $
	 */
	PayResult  executeConfirmPay(PayForm payForm);
	/**
	 * 取消支付的功能
	 * @param @return
	 * @author guohao
	 * @date 2017年1月10日 上午10:58:14
	 * @since $
	 */
	boolean  cancelPay(CancelPayForm payForm);
	
}
